home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / libraries / expansionbase.h < prev    next >
C/C++ Source or Header  |  1996-09-10  |  3KB  |  106 lines

  1. #ifndef LIBRARIES_EXPANSIONBASE_H
  2. #define LIBRARIES_EXPANSIONBASE_H 1
  3. /*
  4. ** expansionbase.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/01/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for expansionbase.h
  17. */
  18. #ifndef BootNodePtr
  19. #define BootNodePtr ADDRESS
  20. #endif
  21. #ifndef ExpansionBasePtr
  22. #define ExpansionBasePtr ADDRESS
  23. #endif
  24. /*
  25. ** End of StructPointer defines for expansionbase.h
  26. */
  27.  
  28.  
  29. #ifndef EXEC_TYPES_H
  30. #include <exec/types.h>
  31. #endif  /* EXEC_TYPES_H */
  32.  
  33. #ifndef EXEC_LIBRARIES_H
  34. #include <exec/libraries.h>
  35. #endif  /* EXEC_LIBRARIES_H */
  36.  
  37. #ifndef EXEC_SEMAPHORES_H
  38. #include <exec/semaphores.h>
  39. #endif  /* EXEC_SEMAPHORES_H */
  40.  
  41. #ifndef LIBRARIES_CONFIGVARS_H
  42. #include <libraries/configvars.h>
  43. #endif  /* LIBRARIES_CONFIGVARS_H */
  44.  
  45.  
  46. /* BootNodes are scanned by dos.library at startup.  Items found on the
  47.    _list are started by dos. BootNodes are added with the AddDosNode() or
  48.    the V36 AddBootNode() calls. */
  49. STRUCT BootNode
  50.  
  51.     Node bn_Node 
  52.     SHORTINT   bn_Flags 
  53.     ADDRESS    bn_DeviceNode 
  54. END STRUCT 
  55.  
  56.  
  57. /* expansion.library has functions to manipulate most of the information in
  58.    ExpansionBase.  Direct access is not permitted.  Use FindConfigDev()
  59.    _to scan the board list. */
  60. STRUCT  ExpansionBase
  61.  
  62.     _Library LibNode 
  63.     BYTE    Flags               /* read only (see below) */
  64.     BYTE    eb_Private01            /* private */
  65.     LONGINT   eb_Private02            /* private */
  66.     LONGINT   eb_Private03            /* private */
  67.     CurrentBinding eb_Private04    /* private */
  68.     _List eb_Private05        /* private */
  69.     _List MountList   /* contains STRUCT BootNode entries */
  70.     /* private */
  71. END STRUCT 
  72.  
  73. /* error codes */
  74. #define EE_OK       0
  75. #define EE_LASTBOARD    40  /* could not shut him up */
  76. #define EE_NOEXPANSION  41  /* not enough expansion mem  board shut up */
  77. #define EE_NOMEMORY 42  /* not enough normal memory */
  78. #define EE_NOBOARD  43  /* no board at that address */
  79. #define EE_BADMEM   44  /* tried to add bad memory card */
  80.  
  81. /* Flags */
  82. #define EBB_CLOGGED 0   /* someone could not be shutup */
  83. #define EBF_CLOGGED (1)
  84. #define EBB_SHORTMEM    1   /* ran out of expansion mem */
  85. #define EBF_SHORTMEM    (2)
  86. #define EBB_BADMEM  2   /* tried to add bad memory card */
  87. #define EBF_BADMEM  (4)
  88. #define EBB_DOSFLAG 3   /* reserved for use by AmigaDOS */
  89. #define EBF_DOSFLAG (8)
  90. #define EBB_KICKBACK33  4   /* reserved for use by AmigaDOS */
  91. #define EBF_KICKBACK33  (16)
  92. #define EBB_KICKBACK36  5   /* reserved for use by AmigaDOS */
  93. #define EBF_KICKBACK36  (32)
  94. /* If the following flag is set by a floppy's bootblock code,  the initial
  95.    _open of the initial shell window will be delayed until the first output
  96.    _to that shell.  Otherwise the 1.3 compatible behavior applies. */
  97. #define EBB_SILENTSTART 6
  98. #define EBF_SILENTSTART (64)
  99.  
  100. /* Magic kludge for CC0 use */
  101. #define EBB_START_CC0   7
  102. #define EBF_START_CC0   (128)
  103.  
  104.  
  105. #endif  /* LIBRARIES_EXPANSIONBASE_H */
  106.